#ifndef __PQ_MNG_ZME_COEF_H__
#define __PQ_MNG_ZME_COEF_H__


#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

/*------------------------ 8 TAP ZME COEF START ----------------------------*/
/* Explain:
   There are 32 group number in all, 32 = 2 + 16*2;
   The first group and The 17th group number is symmetric with himslef;
   The 18th group number is equal to reversed 16th group number;
   The 19th group number is equal to reversed 15th group number;
   etc......
   When it is used, logic  will convert by himslef
   The last number is useless, it places at here for the request of logic;
   */
static  HI_S16 s16ZmeCoef_8T32P_Cubic[18][8] =
{
    {  0,  0,   0, 511,   0,   0,  0,  0}, /* symmetric with himslef */
    { -1,  3, -12, 511,  14,  -4,  1,  0},
    { -2,  6, -23, 509,  28,  -8,  2,  0},
    { -2,  9, -33, 503,  44, -12,  3,  0},
    { -3, 11, -41, 496,  61, -16,  4,  0},
    { -3, 13, -48, 488,  79, -21,  5, -1},
    { -3, 14, -54, 477,  98, -25,  7, -2},
    { -4, 16, -59, 465, 118, -30,  8, -2},
    { -4, 17, -63, 451, 138, -35,  9, -1},
    { -4, 18, -66, 437, 158, -39, 10, -2},
    { -4, 18, -68, 421, 180, -44, 11, -2},
    { -4, 18, -69, 404, 201, -48, 13, -3},
    { -4, 18, -70, 386, 222, -52, 14, -2},
    { -4, 18, -70, 368, 244, -56, 15, -3},
    { -4, 18, -69, 348, 265, -59, 16, -3},
    { -4, 18, -67, 329, 286, -63, 16, -3},
    { -3, 17, -65, 307, 307, -65, 17, -3}, /* symmetric with himslef */
    {  0,  0,   0,   0,   0,   0,  0,  0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_8T32P_Lanc3[18][8] =
{
    {4, -22,  40, 468,  40, -22,  4, 0},
    {3, -18,  26, 468,  54, -26,  5, 0},
    {2, -14,  14, 466,  68, -30,  6, 0},
    {2, -11,   2, 462,  84, -34,  7, 0},
    {1,  -7,  -9, 457, 100, -38,  8, 0},
    {1,  -4, -18, 450, 116, -42,  9, 0},
    {1,  -2, -27, 443, 133, -46, 10, 0},
    {0,   2, -35, 434, 151, -50, 10, 0},
    {0,   4, -42, 425, 168, -54, 11, 0},
    {0,   6, -49, 414, 186, -57, 12, 0},
    {0,   8, -54, 401, 204, -60, 13, 0},
    {0,  10, -58, 387, 222, -62, 13, 0},
    {0,  11, -62, 374, 240, -65, 14, 0},
    {0,  12, -65, 359, 258, -66, 14, 0},
    {0,  13, -67, 344, 276, -68, 14, 0},
    {0,  14, -68, 327, 293, -68, 14, 0},
    {0,  14, -68, 310, 310, -68, 14, 0},
    {0,   0,   0,   0,   0,   0,  0, 0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_8T32P_Lanc2[18][8] =
{
    { -16,   0, 145, 254, 145,  0, -16,  0},
    { -16,  -2, 140, 253, 151,  3, -17,  0},
    { -15,  -5, 135, 253, 157,  5, -18,  0},
    { -14,  -7, 129, 252, 162,  8, -18,  0},
    { -13,  -9, 123, 252, 167, 11, -19,  0},
    { -13, -11, 118, 250, 172, 15, -19,  0},
    { -12, -12, 112, 250, 177, 18, -20, -1},
    { -11, -14, 107, 247, 183, 21, -20, -1},
    { -10, -15, 101, 245, 188, 25, -21, -1},
    {  -9, -16,  96, 243, 192, 29, -21, -2},
    {  -8, -18,  90, 242, 197, 33, -22, -2},
    {  -8, -19,  85, 239, 202, 37, -22, -2},
    {  -7, -19,  80, 236, 206, 41, -22, -3},
    {  -7, -20,  75, 233, 210, 46, -22, -3},
    {  -6, -21,  69, 230, 215, 50, -22, -3},
    {  -5, -21,  65, 226, 219, 55, -22, -5},
    {  -5, -21,  60, 222, 222, 60, -21, -5},
    {   0,   0,   0,   0,   0,  0,   0,  0}
};/* normalized ok */

/* 2.426M */
static  HI_S16 s16ZmeCoef_8T32P_3M_a19[18][8] =
{
    { -18,  18, 144, 226, 144, 19, -17,  -4},
    { -17,  16, 139, 226, 148, 21, -17,  -4},
    { -17,  13, 135, 227, 153, 24, -18,  -5},
    { -17,  11, 131, 226, 157, 27, -18,  -5},
    { -17,   9, 126, 225, 161, 30, -17,  -5},
    { -16,   6, 122, 225, 165, 33, -17,  -6},
    { -16,   4, 118, 224, 169, 37, -17,  -7},
    { -16,   2, 113, 224, 173, 40, -17,  -7},
    { -15,   0, 109, 222, 177, 43, -17,  -7},
    { -15,  -1, 104, 220, 181, 47, -16,  -8},
    { -14,  -3, 100, 218, 185, 51, -16,  -9},
    { -14,  -5,  96, 217, 188, 54, -15,  -9},
    { -14,  -6,  91, 214, 192, 58, -14,  -9},
    { -13,  -7,  87, 212, 195, 62, -14, -10},
    { -13,  -9,  83, 210, 198, 66, -13, -10},
    { -12, -10,  79, 207, 201, 70, -12, -11},
    { -12, -11,  74, 205, 205, 74, -11, -12},
    {   0,   0,   0,   0,   0,  0,   0,   0}
};/* normalized ok */

/* 1.944M */
static HI_S16 s16ZmeCoef_8T32P_2M_a05[18][8] =
{
    {14,  66,  113,  133,  113,  66,  14,  -7},
    {12,  65,  112,  133,  114,  68,  15,  -7},
    {11,  63,  111,  132,  115,  70,  17,  -7},
    {10,  62,  110,  132,  116,  71,  18,  -7},
    {8,   60,  108,  132,  118,  73,  20,  -7},
    {7,   58,  107,  132,  119,  75,  21,  -7},
    {6,   56,  106,  132,  120,  76,  23,  -7},
    {5,   55,  105,  131,  121,  78,  24,  -7},
    {4,   53,  103,  131,  122,  80,  26,  -7},
    {3,   51,  102,  131,  122,  81,  28,  -6},
    {2,   50,  101,  130,  123,  83,  29,  -6},
    {1,   48,  99,   131,  124,  84,  31,  -6},
    {0,   46,  98,   129,  125,  86,  33,  -5},
    { -1,  45,  97,   128,  126,  88,  34,  -5},
    { -2,  43,  95,   130,  126,  89,  36,  -5},
    { -3,  41,  94,   128,  127,  91,  38,  -4},
    { -3,  39,  92,   128,  128,  92,  39,  -3},
    {0,    0,   0,     0,    0,   0,   0,   0},

};/* normalized ok */

/* 1.33M */
static HI_S16 s16ZmeCoef_8T32P_1_5M_a05[18][8] =
{
    {39, 69, 93, 102, 93, 69, 39,  8},
    {38, 68, 92, 102, 93, 70, 40,  9},
    {37, 67, 91, 102, 93, 71, 41, 10},
    {36, 66, 91, 101, 94, 71, 42, 11},
    {35, 65, 90, 102, 94, 72, 43, 11},
    {34, 64, 89, 102, 94, 73, 44, 12},
    {33, 63, 88, 101, 95, 74, 45, 13},
    {32, 62, 88, 100, 95, 75, 46, 14},
    {31, 62, 87, 100, 95, 75, 47, 15},
    {30, 61, 86,  99, 96, 76, 48, 16},
    {29, 60, 86,  98, 96, 77, 49, 17},
    {28, 59, 85,  98, 96, 78, 50, 18},
    {27, 58, 84,  99, 97, 78, 50, 19},
    {26, 57, 83,  99, 97, 79, 51, 20},
    {25, 56, 83,  98, 97, 80, 52, 21},
    {24, 55, 82,  97, 98, 81, 53, 22},
    {23, 54, 81,  98, 98, 81, 54, 23},
    { 0,  0,  0,   0,  0,  0,  0,  0},
};/* normalized ok */

#if 0
/* Test Coef */
static HI_S16 coefficient8_5_3M[18][8] =
{
    {35, -70, 102, 373, 102, -70, 35,  5},
    {36, -68,  90, 373, 113, -72, 34,  6},
    {37, -66,  78, 371, 125, -73, 32,  8},
    {38, -63,  66, 369, 137, -74, 30,  9},
    {38, -60,  55, 365, 149, -74, 28, 11},
    {38, -56,  45, 362, 161, -75, 25, 12},
    {38, -53,  34, 358, 172, -74, 23, 14},
    {38, -49,  24, 353, 184, -73, 20, 15},
    {38, -45,  15, 346, 196, -72, 17, 17},
    {37, -41,   6, 340, 207, -70, 14, 19},
    {37, -37,  -3, 333, 219, -68, 11, 20},
    {36, -33, -11, 326, 230, -65,  7, 22},
    {35, -29, -19, 318, 241, -62,  4, 24},
    {34, -25, -26, 310, 252, -58,  0, 25},
    {33, -21, -32, 301, 262, -54, -4, 27},
    {31, -16, -39, 293, 273, -50, -8, 28},
    {30, -12, -44, 282, 282, -44, -12, 30},
    { 0,   0,   0,   0,   0,   0,  0,  0}
};

static HI_S16 coefficient8_3M[18][8] =
{
    { -46,  29, 165, 236, 165, 29, -46, -20},
    { -46,  25, 161, 236, 169, 32, -45, -20},
    { -47,  21, 158, 236, 173, 37, -45, -21},
    { -47,  17, 154, 236, 178, 41, -44, -23},
    { -47,  14, 150, 236, 182, 45, -43, -25},
    { -47,  10, 146, 236, 186, 49, -42, -26},
    { -47,   7, 142, 236, 190, 53, -41, -28},
    { -47,   4, 138, 235, 194, 58, -40, -30},
    { -47,   0, 134, 235, 197, 62, -39, -30},
    { -47,  -3, 130, 234, 201, 67, -37, -33},
    { -46,  -6, 125, 232, 204, 71, -35, -33},
    { -46,  -9, 121, 232, 207, 76, -34, -35},
    { -45, -12, 116, 230, 211, 80, -32, -36},
    { -45, -15, 112, 228, 214, 85, -30, -37},
    { -43, -18, 108, 227, 216, 89, -28, -39},
    { -43, -20, 103, 224, 219, 94, -25, -40},
    { -41, -23,  98, 222, 222, 98, -23, -41},
    {  0,   0,   0,   0,   0,  0,   0,   0}
};

static HI_S16 coefficient8_1M[18][8] =
{
    {57, 68, 79, 83, 79, 68, 57, 21},
    {56, 68, 79, 82, 79, 69, 57, 22},
    {55, 68, 78, 82, 79, 69, 57, 24},
    {54, 67, 78, 82, 79, 69, 58, 25},
    {54, 66, 77, 82, 79, 69, 58, 27},
    {53, 66, 77, 81, 79, 70, 58, 28},
    {52, 66, 77, 81, 79, 70, 58, 29},
    {51, 65, 76, 81, 79, 70, 59, 31},
    {50, 65, 76, 81, 79, 70, 59, 32},
    {49, 64, 75, 81, 79, 71, 59, 34},
    {48, 63, 75, 81, 79, 71, 60, 35},
    {47, 63, 75, 81, 79, 71, 60, 36},
    {46, 63, 74, 81, 80, 71, 60, 37},
    {45, 62, 74, 80, 80, 72, 60, 39},
    {44, 62, 73, 80, 80, 72, 61, 40},
    {43, 62, 73, 80, 80, 72, 61, 41},
    {42, 61, 73, 80, 80, 73, 61, 42},
    { 0,  0,  0,  0,  0,  0,  0,  0}
};
#endif
/*------------------------- 8 TAP ZME COEF END -----------------------------*/

/*------------------------ 6 TAP ZME COEF START ----------------------------*/

static  HI_S16 s16ZmeCoef_6T32P_Cubic[18][6] =
{
    { 0,   0, 511,   0,   0,  0},
    { 3, -12, 511,  13,  -3,  0},
    { 6, -22, 507,  28,  -7,  0},
    { 8, -32, 502,  44, -11,  1},
    {10, -40, 495,  61, -15,  1},
    {11, -47, 486,  79, -19,  2},
    {12, -53, 476,  98, -24,  3},
    {13, -58, 464, 117, -28,  4},
    {14, -62, 451, 137, -33,  5},
    {15, -65, 437, 157, -38,  6},
    {15, -67, 420, 179, -42,  7},
    {15, -68, 404, 200, -46,  7},
    {14, -68, 386, 221, -50,  9},
    {14, -68, 367, 243, -54, 10},
    {14, -67, 348, 264, -58, 11},
    {13, -66, 328, 286, -61, 12},
    {13, -63, 306, 306, -63, 13},
    { 0,   0,   0,   0,   0,  0}
};/* normalized ok */

/* 4.667M */
static  HI_S16 s16ZmeCoef_6T32P_6M_a25[18][6] =
{
    { -34, 78, 415,  78, -34, 9},
    { -32, 66, 415,  90, -36, 9},
    { -29, 54, 413, 103, -38, 9},
    { -26, 43, 411, 116, -41, 9},
    { -23, 33, 406, 129, -42, 9},
    { -21, 24, 401, 143, -44, 9},
    { -18, 14, 396, 157, -46, 9},
    { -16,  6, 389, 171, -47, 9},
    { -14, -2, 382, 185, -48, 9},
    { -11, -9, 374, 199, -49, 8},
    { -9, -16, 365, 213, -49, 8},
    { -7, -21, 354, 228, -49, 7},
    { -5, -27, 345, 242, -49, 6},
    { -3, -32, 333, 256, -48, 6},
    { -1, -36, 322, 269, -46, 4},
    {  0, -39, 309, 283, -44, 3},
    {  2, -42, 296, 296, -42, 2},
    {  0,   0,   0,   0,   0, 0}
};/* normalized ok */

/* 3.888M */
static  HI_S16 s16ZmeCoef_6T32P_5M_a25[18][6] =
{
    { -31, 104, 362, 104, -31,  4},
    { -30,  94, 362, 114, -32,  4},
    { -29,  84, 361, 125, -32,  3},
    { -28,  75, 359, 136, -33,  3},
    { -27,  66, 356, 147, -33,  3},
    { -25,  57, 353, 158, -33,  2},
    { -24,  49, 349, 169, -33,  2},
    { -22,  41, 344, 180, -32,  1},
    { -20,  33, 339, 191, -31,  0},
    { -19,  26, 333, 203, -30, -1},
    { -17,  19, 327, 214, -29, -2},
    { -16,  13, 320, 225, -27, -3},
    { -14,   7, 312, 236, -25, -4},
    { -13,   1, 305, 246, -22, -5},
    { -11,  -4, 295, 257, -19, -6},
    { -10,  -8, 286, 267, -16, -7},
    {  -9, -12, 277, 277, -12, -9},
    {   0,   0,   0,   0,   0,  0}
};/* normalized ok */

/* 3.216M */
static  HI_S16 s16ZmeCoef_6T32P_4M_a20[18][6] =
{
    { -20, 130, 297, 130, -20,  -5},
    { -21, 122, 298, 138, -19,  -6},
    { -22, 115, 297, 146, -17,  -7},
    { -22, 108, 296, 153, -16,  -7},
    { -23, 101, 295, 161, -14,  -8},
    { -23,  93, 294, 169, -12,  -9},
    { -24,  87, 292, 177, -10, -10},
    { -24,  80, 289, 185,  -7, -11},
    { -24,  73, 286, 193,  -4, -12},
    { -23,  66, 283, 200,  -1, -13},
    { -23,  60, 279, 208,   2, -14},
    { -23,  54, 276, 215,   5, -15},
    { -22,  48, 271, 222,   9, -16},
    { -21,  42, 266, 229,  13, -17},
    { -21,  37, 261, 236,  17, -18},
    { -21,  32, 255, 242,  22, -18},
    { -20,  27, 249, 249,  27, -20},
    {   0,   0,   0,   0,   0,   0}
};/* normalized ok */

/* 2.16M */
static  HI_S16 s16ZmeCoef_6T32P_3M_a15[18][6] =
{
    { 16, 136, 217, 136, 16,  -9},
    { 13, 132, 217, 141, 18,  -9},
    { 11, 128, 217, 145, 21, -10},
    {  9, 124, 216, 149, 24, -10},
    {  7, 119, 216, 153, 27, -10},
    {  5, 115, 216, 157, 30, -11},
    {  3, 111, 215, 161, 33, -11},
    {  1, 107, 214, 165, 36, -11},
    {  0, 102, 213, 169, 39, -11},
    { -2,  98, 211, 173, 43, -11},
    { -3,  94, 209, 177, 46, -11},
    { -4,  90, 207, 180, 50, -11},
    { -5,  85, 206, 184, 53, -11},
    { -6,  81, 203, 187, 57, -10},
    { -7,  77, 201, 190, 61, -10},
    { -8,  73, 198, 193, 65,  -9},
    { -9,  69, 196, 196, 69,  -9},
    {  0,   0,   0,   0,  0,   0}
};/* normalized ok */

/* 1.782M add from 3798c */
static HI_S16 s16ZmeCoef_6T32P_2M_a05[18][6] =
{
    {66, 115, 138, 115, 66, 12},
    {64, 114, 136, 116, 68, 14},
    {63, 113, 134, 117, 70, 15},
    {61, 111, 135, 118, 71, 16},
    {59, 110, 133, 119, 73, 18},
    {57, 108, 134, 120, 74, 19},
    {55, 107, 133, 121, 76, 20},
    {53, 105, 133, 121, 78, 22},
    {51, 104, 133, 122, 79, 23},
    {49, 102, 132, 123, 81, 25},
    {47, 101, 132, 124, 82, 26},
    {45,  99, 131, 125, 84, 28},
    {44,  98, 130, 125, 85, 30},
    {42,  96, 130, 126, 87, 31},
    {40,  95, 128, 127, 89, 33},
    {38,  93, 129, 127, 90, 35},
    {36,  92, 128, 128, 92, 36},
    { 0,   0,   0,   0,  0,  0},
};/* normalized ok */

/* add from 3798 */
static HI_S16 s16ZmeCoef_6T32P_1_5M_a05[18][6] =
{
    {80, 105, 116, 105, 80, 26},
    {79, 104, 115, 105, 81, 28},
    {77, 103, 116, 106, 81, 29},
    {76, 102, 115, 106, 82, 31},
    {74, 101, 115, 106, 83, 33},
    {73, 100, 114, 106, 84, 35},
    {71,  99, 114, 107, 84, 37},
    {70,  98, 113, 107, 85, 39},
    {68,  98, 113, 107, 86, 40},
    {67,  97, 112, 108, 86, 42},
    {65,  96, 112, 108, 87, 44},
    {63,  95, 112, 108, 88, 46},
    {62,  94, 112, 108, 88, 48},
    {60,  93, 111, 109, 89, 50},
    {58,  93, 111, 109, 90, 51},
    {57,  92, 110, 110, 90, 53},
    {55,  91, 110, 110, 91, 55},
    { 0,   0,   0,   0,  0,  0},
};/* normalized ok */

/*------------------------- 6 TAP ZME COEF END -----------------------------*/

/*------------------------ 4 TAP ZME COEF START ----------------------------*/

static  HI_S16 s16ZmeCoef_4T32P_Cubic[18][4] =
{
    {   0, 511,   0,   0}, { -19, 511,  21,  -1},
    { -37, 509,  42,  -2}, { -51, 504,  64,  -5},
    { -64, 499,  86,  -9}, { -74, 492, 108, -14},
    { -82, 484, 129, -19}, { -89, 474, 152, -25},
    { -94, 463, 174, -31}, { -97, 451, 196, -38},
    { -98, 438, 217, -45}, { -98, 424, 238, -52},
    { -98, 409, 260, -59}, { -95, 392, 280, -65},
    { -92, 376, 300, -72}, { -88, 358, 320, -78},
    { -83, 339, 339, -83}, {   0,   0,   0,   0}
};/* normalized ok */

/* 3.507M */
static  HI_S16 s16ZmeCoef_4T32P_5M_a15[18][4] =
{
    { 103, 335, 103, -29}, { 92, 335, 112, -27},
    {  84, 335, 121, -28}, { 75, 334, 131, -28},
    {  67, 332, 141, -28}, { 59, 329, 152, -28},
    {  51, 326, 162, -27}, { 43, 323, 173, -27},
    {  36, 319, 183, -26}, { 30, 313, 194, -25},
    {  23, 308, 204, -23}, { 17, 301, 215, -21},
    {  12, 295, 225, -20}, {  6, 288, 235, -17},
    {   2, 280, 244, -14}, { -3, 271, 254, -10},
    {  -7, 263, 263,  -7}, {  0,   0,   0,   0}
};/* normalized ok */

/* 2.657M */
static  HI_S16 s16ZmeCoef_4T32P_4M_a15[18][4] =
{
    { 120, 281, 120, -9}, { 113, 281, 127, -9},
    { 106, 280, 134, -8}, {  99, 279, 141, -7},
    {  92, 277, 148, -5}, {  85, 275, 156, -4},
    {  79, 273, 162, -2}, {  72, 270, 170,  0},
    {  66, 267, 177,  2}, {  61, 263, 184,  4},
    {  56, 259, 191,  6}, {  50, 255, 198,  9},
    {  44, 251, 205, 12}, {  40, 246, 211, 15},
    {  34, 241, 218, 19}, {  31, 235, 224, 22},
    {  26, 230, 230, 26}, {   0,   0,   0,  0}
};/* normalized ok */

#if 0
static  HI_S16 s16ZmeCoef_4T32P_675M_a20[18][4] =
{
    {  60, 417,  60, -25}, {  49, 418,  73, -28},
    {  39, 418,  85, -30}, {  29, 416,  99, -32},
    {  19, 414, 113, -34}, {  10, 411, 127, -36},
    {   2, 406, 142, -38}, {  -6, 400, 158, -40},
    { -12, 393, 173, -42}, { -18, 384, 189, -43},
    { -24, 376, 205, -45}, { -29, 364, 222, -45},
    { -33, 353, 238, -46}, { -37, 341, 254, -46},
    { -40, 329, 269, -46}, { -42, 314, 285, -45},
    { -44, 300, 300, -44}, {   0,   0,   0,   0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_4T32P_45M_a15[18][4] =
{
    { 112, 307, 112, -19}, {103, 307, 120, -18},
    {  95, 307, 128, -18}, { 88, 305, 137, -18},
    {  80, 303, 146, -17}, { 73, 301, 154, -16},
    {  66, 298, 163, -15}, { 59, 295, 172, -14},
    {  52, 291, 181, -12}, { 46, 287, 189, -10},
    {  40, 282, 198,  -8}, { 34, 277, 207,  -6},
    {  29, 271, 215,  -3}, { 24, 266, 223,  -1},
    {  19, 259, 231,   3}, { 14, 253, 239,   6},
    {  10, 246, 246,  10}, {  0,   0,   0,   0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_4T32P_6M_a15[18][4] =
{
    {  78, 392,  78, -36}, {  67, 393,  89, -37},
    {  56, 393, 102, -39}, {  46, 392, 115, -41},
    {  36, 391, 128, -43}, {  27, 387, 142, -44},
    {  18, 384, 155, -45}, {  10, 378, 170, -46},
    {   3, 372, 184, -47}, {  -5, 366, 198, -47},
    { -11, 357, 213, -47}, { -17, 350, 226, -47},
    { -23, 340, 241, -46}, { -28, 330, 255, -45},
    { -32, 319, 269, -44}, { -36, 307, 282, -41},
    { -39, 295, 295, -39}, {   0,   0,   0,   0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_4T32P_6M_a19[18][4] =
{
    {  77, 386,  77, -28}, {  66, 387,  88, -29},
    {  56, 387, 100, -31}, {  47, 385, 112, -32},
    {  38, 383, 125, -34}, {  29, 380, 138, -35},
    {  21, 376, 151, -36}, {  13, 371, 165, -37},
    {   6, 365, 179, -38}, {   0, 358, 192, -38},
    {  -6, 350, 206, -38}, { -12, 342, 220, -38},
    { -17, 332, 234, -37}, { -22, 322, 248, -36},
    { -25, 311, 261, -35}, { -28, 299, 274, -33},
    { -31, 287, 287, -31}, {   0,   0,   0,   0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_4T32P_5M_a10[18][4] =
{
    { 106, 334, 106, -34}, { 97, 334, 116, -35},
    {  87, 334, 126, -35}, { 78, 333, 136, -35},
    {  70, 330, 147, -35}, { 61, 329, 157, -35},
    {  53, 326, 168, -35}, { 45, 323, 178, -34},
    {  37, 319, 189, -33}, { 30, 314, 199, -31},
    {  23, 309, 209, -29}, { 17, 302, 220, -27},
    {  10, 298, 229, -25}, {  5, 290, 239, -22},
    {  -1, 282, 249, -18}, { -6, 275, 258, -15},
    { -10, 266, 266, -10}, {  0,   0,   0,   0}
};/* normalized ok */
#endif
/*------------------------- 4 TAP ZME COEF END -----------------------------*/

/*------------------------ 2 TAP ZME COEF START ----------------------------*/
/* 3.39M */
static HI_S16 s16ZmeCoef_2T32P_4M_0_1[18][2] =
{
    { 366, 146}, { 359, 153}, { 351, 161},
    { 344, 168}, { 337, 175}, { 330, 182},
    { 323, 189}, { 316, 196}, { 309, 203},
    { 302, 210}, { 296, 216}, { 289, 223},
    { 282, 230}, { 276, 236}, { 269, 243},
    { 263, 249}, { 256, 256}, {   0,   0}
};/* normalized ok */

/* 4.509M */
static HI_S16 s16ZmeCoef_2T32P_Gus2_6M_a0_5[18][2] =
{
    { 462,  50}, { 449,  63}, { 437,  75},
    { 424,  88}, { 411, 101}, { 398, 114},
    { 386, 126}, { 373, 139}, { 360, 152},
    { 347, 165}, { 334, 178}, { 321, 191},
    { 308, 204}, { 295, 217}, { 282, 230},
    { 269, 243}, { 256, 256}, {   0,   0}
};

#if 0
static  HI_S16 s16ZmeCoef_2T32P_Cubic[18][2] =
{
    { 511,   0}, { 511,   1}, { 506,   6},
    { 499,  13}, { 490,  22}, { 478,  34},
    { 465,  47}, { 449,  63}, { 432,  80},
    { 413,  99}, { 393, 119}, { 372, 140},
    { 350, 162}, { 328, 184}, { 304, 208},
    { 280, 232}, { 256, 256}, {   0,   0}
};/* normalized ok */

/* 3.717M */
static  HI_S16 s16ZmeCoef_2T32P_6M_1_3[18][2] =
{
    { 420,  92}, { 412, 100}, { 404, 108},
    { 395, 117}, { 386, 126}, { 376, 136},
    { 366, 146}, { 356, 156}, { 346, 166},
    { 335, 177}, { 325, 187}, { 313, 199},
    { 302, 210}, { 291, 221}, { 279, 233},
    { 268, 244}, { 256, 256}, {   0,   0}
};/* normalized ok */

/* 3.56M */
static  HI_S16 s16ZmeCoef_2T32P_5M_1_0[18][2] =
{
    { 397, 115}, { 389, 123}, { 381, 131},
    { 373, 139}, { 365, 147}, { 356, 156},
    { 347, 165}, { 339, 173}, { 330, 182},
    { 321, 191}, { 312, 200}, { 303, 209},
    { 293, 219}, { 284, 228}, { 275, 237},
    { 265, 247}, { 256, 256}, {   0,   0}
};/* normalized ok */

static  HI_S16 s16ZmeCoef_2T32P_5M[18][2] =
{
    { 386, 126}, { 378, 134}, { 370, 142},
    { 362, 150}, { 355, 157}, { 347, 165},
    { 338, 174}, { 330, 182}, { 322, 190},
    { 314, 198}, { 306, 206}, { 298, 214},
    { 289, 223}, { 281, 231}, { 273, 239},
    { 264, 248}, { 256, 256}, {   0,   0}
};/* normalized ok */

/* 5.0625M */
static  HI_S16 s16ZmeCoef_2T32P_Gus2_6_75M_a0_5[18][2] =
{
    { 511,  0}, { 498,  14}, { 483,  29},
    { 468, 44}, { 453,  59}, { 437,  75},
    { 422, 90}, { 406, 106}, { 390, 122},
    { 373, 139}, { 357, 155}, { 340, 172},
    { 324, 188}, { 307, 205}, { 290, 222},
    { 273, 239}, { 256, 256}, {   0,   0}
};
#endif
/*------------------------ 2 TAP ZME COEF END ----------------------------*/


/* Vdp Zme Coef Struct */
/* add Chroma-Hor-8T32P and Chroma-Vert-6T32P  add from 3798 */
static HI_S16 *g_pVZmeCoef[VZME_COEF_RATIO_BUTT][VZME_COEF_TYPE_BUTT] =
{
    //       Luma-Hor-8T32P,                   Luma-Vert-6T32P,                Luma-Vert-4T32P,               Chroma-Hor-4T32P ,             Chroma-Vert-4T32P,              Chroma-Hor-8T32P,                  Chroma-Vert-6T32P
    { &s16ZmeCoef_8T32P_Lanc3[0][0],  &s16ZmeCoef_6T32P_6M_a25[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc3[0][0],    &s16ZmeCoef_6T32P_6M_a25[0][0]},  /* >1    */
    //{ &s16ZmeCoef_8T32P_Cubic[0][0],  &s16ZmeCoef_6T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_8T32P_Cubic[0][0],    &s16ZmeCoef_6T32P_Cubic[0][0]}, /* ==1    */
    { &s16ZmeCoef_8T32P_Lanc3[0][0],  &s16ZmeCoef_6T32P_6M_a25[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc3[0][0],    &s16ZmeCoef_6T32P_6M_a25[0][0]},  /* ==1    */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_6T32P_5M_a25[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc2[0][0],    &s16ZmeCoef_6T32P_5M_a25[0][0]},  /* >=0.75 */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_6T32P_4M_a20[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc2[0][0],    &s16ZmeCoef_6T32P_4M_a20[0][0]},  /* >=0.5  */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_3M_a19[0][0],   &s16ZmeCoef_6T32P_3M_a15[0][0]},  /* >=0.33 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_2M_a05[0][0],   &s16ZmeCoef_6T32P_2M_a05[0][0]},  /* >=0.25 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_1_5M_a05[0][0], &s16ZmeCoef_6T32P_1_5M_a05[0][0]} /* else   */
};

/* Vpss Zme Coef Struct */
/* add Chroma-Hor-8T32P and Chroma-Vert-6T32P  add from 3798 and HifoneB2 */
const HI_S16 *g_pVZmeVpssCoef[VZME_COEF_RATIO_BUTT][VZME_VPSS_COEF_TYPE_BUTT] =
{
    //       Luma-Hor-8T32P,                  Luma-Vert-6T32P,                Luma-Vert-4T32P,               Chroma-Hor-4T32P ,              Chroma-Vert-4T32P,             Chroma-Hor-8T32P,                  Chroma-Vert-6T32P
    { &s16ZmeCoef_8T32P_Lanc3[0][0],  &s16ZmeCoef_6T32P_6M_a25[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc3[0][0],    &s16ZmeCoef_6T32P_6M_a25[0][0]},   /* >1    */
    { &s16ZmeCoef_8T32P_Cubic[0][0],  &s16ZmeCoef_6T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_8T32P_Lanc3[0][0],    &s16ZmeCoef_6T32P_6M_a25[0][0]},   /* ==1    */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_6T32P_5M_a25[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc2[0][0],    &s16ZmeCoef_6T32P_5M_a25[0][0]},   /* >=0.75 */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_6T32P_4M_a20[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_8T32P_Lanc2[0][0],    &s16ZmeCoef_6T32P_4M_a20[0][0]},   /* >=0.5  */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_3M_a19[0][0],   &s16ZmeCoef_6T32P_3M_a15[0][0]},   /* >=0.33 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_2M_a05[0][0],   &s16ZmeCoef_6T32P_2M_a05[0][0]},   /* >=0.25 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_6T32P_3M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_8T32P_1_5M_a05[0][0], &s16ZmeCoef_6T32P_1_5M_a05[0][0]}  /* else   */
};

/* Lti Cti Coef Struct */
const HI_S16 *g_pVDtiZmeCoef[VZME_COEF_RATIO_BUTT][VDTI_COEF_TYPE_BUTT] =
{
    //         HLTI-8T32P,                          VLTI-2T32P,                        HCTI-4T32P,                     VCTI-2T32P,
    { &s16ZmeCoef_8T32P_Lanc3[0][0],  &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* >1     */
    { &s16ZmeCoef_8T32P_Cubic[0][0],  &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_Cubic[0][0],  &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* ==1    */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* >=0.75 */
    { &s16ZmeCoef_8T32P_Lanc2[0][0],  &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_5M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* >=0.5  */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* >=0.33 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}, /* >=0.25 */
    { &s16ZmeCoef_8T32P_3M_a19[0][0], &s16ZmeCoef_2T32P_Gus2_6M_a0_5[0][0], &s16ZmeCoef_4T32P_4M_a15[0][0], &s16ZmeCoef_2T32P_4M_0_1[0][0]}  /* else   */
};
/*---------------------------- VPSS END ------------------------------------*/


#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif

#endif


